/** *通用形列表-按钮部分 */
<template>
    <div>
        <el-button
            v-for="(item, index) in buttonArr"
            :key="`${index}`"
            :type="item.buttonType"
            :plain="item.buttonPlain"
            :round="item.buttonRound"
            :circle="item.buttonCircle"
            :icon="item.buttonIcon"
            :disabled="item.buttonDisabled"
            :text="item.buttonText"
            :link="item.buttonLink"
            :bg="item.buttonBg"
            :loading="item.buttonLoading"
            :loading-icon="item.buttonLoadingIcon"
            :color="item.buttonColor"
            :dark="item.buttonDark"
            @click="item.buttonClick"
        >
            {{ item.buttonMainText }}
        </el-button>
    </div>
</template>

<script lang="ts" setup>
    import { ref, reactive, markRaw, onBeforeMount, onMounted, onBeforeUnmount, nextTick, computed, watch } from 'vue';
    import type { Ref, Raw } from 'vue';
    import {} from '@/apis';
    import { isPhone } from '@/utils';

    import { useRoute, useRouter } from 'vue-router';
    import { storeToRefs } from 'pinia';
    import { useStore } from '@/store';
    import { ElMessage } from 'element-plus';
    import { Lock, User, Monitor, Phone, Search, RefreshRight, CaretTop, CaretBottom } from '@element-plus/icons-vue';
    const route = useRoute();
    const router = useRouter();
    const store = useStore();

    const buttonArr = defineModel<any>('buttonArr', {
        required: false,
        default: [],
    });
    const emits = defineEmits<{
        // (e: 'update:isCollapse', data: boolean): void,
        tableSearch: [data: any];
    }>();
</script>

<style lang="scss" scoped></style>
